#ifndef GAME_HEADER
#define GAME_HEADER

#include <iostream>
#include <vector>
#include <string>
#include "Player.h";
#include "House.h";
#include "Deck.h";

class Game {
public:
	std::vector<Player*> players;
	House* house;
	Deck* deck;

	Game(std::vector<std::string> names);

	void printAllHands();
	
	//To check whether or not all players are finished
	bool allPlayersFinished();
	//To check whether or not all players are busted
	bool allPlayersBusted();
	
	//To check whether or not a player is finished
	bool playerIsFinished(GenericPlayer *p);
	//To check whether or not a player has 21
	bool playerHas21(GenericPlayer* p);

	//Hits every active player
	void hitActivePlayers();
	//compares the cards of all active players with the house's
	void compareActivePlayersToHouse();

	void play();
};

#endif